import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';

class PermissionToolController extends GetxController {
  ///请求拍照权限
  void requestCameraPermission() async {
    var status = await Permission.camera.request();
    if (status.isGranted) {
      SmartDialog.showToast("拍照权限已获取");
    } else if (status.isDenied) {
      SmartDialog.showToast("拍照权限已拒绝");
    } else if (status.isPermanentlyDenied) {
      SmartDialog.showToast("拍照权限已被永久拒绝");
    }
  }

  void requestStoragePermission() async {
    var status = await Permission.storage.request();
    if (status.isGranted) {
      // 存储权限已授予
      SmartDialog.showToast("存储权限已授予");
    } else if (status.isDenied) {
      // 用户已经拒绝存储权限
      SmartDialog.showToast("用户已经拒绝存储权限");
    } else if (status.isPermanentlyDenied) {
      // 用户已经永久拒绝存储权限
      SmartDialog.showToast("用户已经永久拒绝存储权限");
    }
  }

  void requestLocationPermission() async {
    var status = await Permission.location.request();
    if (status.isGranted) {
      // 位置权限已授予
      SmartDialog.showToast("位置权限已授予");
    } else if (status.isDenied) {
      // 用户已经拒绝位置权限
      SmartDialog.showToast("用户已经拒绝位置权限");
    } else if (status.isPermanentlyDenied) {
      // 用户已经永久拒绝位置权限
      SmartDialog.showToast("用户已经永久拒绝位置权限");
    }
  }

  void requestContactsPermission() async {
    var status = await Permission.contacts.request();
    if (status.isGranted) {
      // 通讯录权限已授予
      SmartDialog.showToast("通讯录权限已授予");
    } else if (status.isDenied) {
      // 用户已经拒绝通讯录权限
      SmartDialog.showToast("用户已经拒绝通讯录权限");
    } else if (status.isPermanentlyDenied) {
      // 用户已经永久拒绝通讯录权限
      SmartDialog.showToast("用户已经永久拒绝通讯录权限");
    }
  }
}
